30 research outputs found
Pigasus : Python for IsoGeometric AnalysiS and Unified Simulations.
B-splines and NURBS (Non Uniform Rational B-splines) are widely used in CAD (Computer Aider Design) models. IGA (IsoGeometric Analysis) consists of using these functions to both define the geometry and represent the unknowns that are solution of a Partial Differential Equation, using the Finite Element principle. In this paper we present a new library, namely Î gasus , that was developped in order to bring a common framework between the users (especially physicists) and mathematicians. We want to provide a stable and robust framework, that handles complex geometries and models as it is the case in Plasma Physics. Physicists will be able to use the recent works and results obtained by mathematicians. Î gasus is a 1D, 2D and 3D Fortran code, interfaced with Python. It provides a Geometry module, a FEM (Finite Element Method) computational engine and a Visualization module
Pigasus : Python for IsoGeometric AnalysiS and Unified Simulations.
B-splines and NURBS (Non Uniform Rational B-splines) are widely used in CAD (Computer Aider Design) models. IGA (IsoGeometric Analysis) consists of using these functions to both define the geometry and represent the unknowns that are solution of a Partial Differential Equation, using the Finite Element principle. In this paper we present a new library, namely Î gasus , that was developped in order to bring a common framework between the users (especially physicists) and mathematicians. We want to provide a stable and robust framework, that handles complex geometries and models as it is the case in Plasma Physics. Physicists will be able to use the recent works and results obtained by mathematicians. Î gasus is a 1D, 2D and 3D Fortran code, interfaced with Python. It provides a Geometry module, a FEM (Finite Element Method) computational engine and a Visualization module
Computational investigations of a two-class traffic flow model: mean-field and microscopic dynamics
We address a multi-class traffic model, for which we computationally assess
the ability of mean-field games (MFG) to yield approximate Nash equilibria for
traffic flow games of intractable large finite-players. We introduce a
two-class traffic framework, following and extending the single-class lines of
\cite{huang_game-theoretic_2020}. We extend the numerical methodologies, with
recourse to techniques such as HPC and regularization of LGMRES solvers. The
developed apparatus allows us to perform simulations at significantly larger
space and time discretization scales. For three generic scenarios of cars and
trucks, and three cost functionals, we provide numerous numerical results
related to the autonomous vehicles (AVs) traffic dynamics, which corroborate
for the multi-class case the effectiveness of the approach emphasized in
\cite{huang_game-theoretic_2020}. We additionally provide several original
comparisons of macroscopic Nash mean-field speeds with their microscopic
versions, allowing us to computationally validate the so-called Nash
approximation, with a rate slightly better than theoretically expected
Arbitrary High-Order Spline Finite Element Solver for the Time Domain Maxwell equations
International audienceIn this paper, we study high order methods for solving the time domain Maxwell equations using spline finite elements on domains defined by NURBS. Convenient basis functions for the discrete exact sequence of spaces introduced by Buffa et al are exhibited which provided the same discrete structure as for classical Whitney Finite Elements. An analysis of stability of the time scheme is also developed
Spectral computation with third-order tensors using the t-product
The tensor t-product, introduced by Kilmer and Martin [26], is a powerful
tool for the analysis of and computation with third-order tensors. This paper
introduces eigentubes and eigenslices of third-order tensors under the
t-product. The eigentubes and eigenslices are analogues of eigenvalues and
eigenvectors for matrices. Properties of eigentubes and eigenslices are
investigated and numerical methods for their computation are described. The
methods include the tensor power method, tensor subspace iteration, and the
tensor QR algorithm. Computed examples illustrate the performance of these
methods
PSYDAC: a high-performance IGA library in Python
Psydac is a Python 3 library for the solution of partial differential equations, which combines the convenience of a domain specific language with the speed of a high-performance parallel engine. Its main focus is on isogeometric analysis using tensor-product B-spline finite elements; to this end it uses an optimized sparse format called 'stencil matrix', which drastically reduces memory storage compared to the popular CSR/CSC formats. It supports multi-patch mapped geometries, and finite element exterior calculus. It can distribute each domain patch across many MPI processes, with multiple OpenMP threads operating in each block. The users of Psydac define a weak form of the model equations through SymPDE, an extension of Sympy that provides the mathematical expressions and checks their semantic validity. Simple mappings can be defined analytically, and multi-patch NURBS geometries can be imported from file. Once a finite element discretization is chosen, Psydac maps abstract concepts onto concrete objects, the basic building blocks being MPI-distributed vectors and matrices. Python code is automatically generated for the model-specific operations, namely matrix and vector assembly, and user-defined diagnostics. Finally, Psydac accelerates all computationally intensive operations using Pyccel, a transpiler which converts Python code to either C or Fortran. We present the library design, the typical usage workflow, the user interface for a simple 2D example, and the parallel scaling results in a large 3D simulation. In addition we show a few complex applications in fluid dynamics and electromagnetism, where the accuracy of the solver is verified against manufactured and reference solutions
Non regression testing for the JOREK code
Non Regression Testing (NRT) aims to check if software modifications result
in undesired behaviour. Suppose the behaviour of the application previously
known, this kind of test makes it possible to identify an eventual regression,
a bug. Improving and tuning a parallel code can be a time-consuming and
difficult task, especially whenever people from different scientific fields
interact closely. The JOREK code aims at investing Magnetohydrodynamic (MHD)
instabilities in a Tokamak plasma. This paper describes the NRT procedure that
has been tuned for this simulation code. Automation of the NRT is one keypoint
to keeping the code healthy in a source code repository.Comment: No. RR-8134 (2012
An axisymmetric PIC code based on isogeometric analysis
International audienceIsogeometric analysis has been developed recently to use basis functions resulting from the CAO description of the computational domain for the finite element spaces. The goal of this study is to develop an axisymmetric Finite Element PIC code in which specific spline Finite Elements are used to solve the Maxwell equations and the same spline functions serve as shape function for the particles. The computational domain itself is defined using splines or NURBS